Dynomotion

Group: DynoMotion Message: 939 From: likleong Date: 3/6/2011
Subject: Buffer issue in mach3
Hi TK,

I have the following questions regarding to mach3 and kflop:

1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be 3 sec of motion command will be download to kflop's motion buffer? that means even mach3 stopped with "stop" or "reset" button, the kflop will keep running for 3 sec until buffer empty, right?

2. In case of some emergency situation, in spit of hardware EMG stop, is there any way to stop the mach3 and kflop immediately but keep the contents in motion buffer so that it can resume within mache?

3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and keep them floating, normally, they will read as low, however, if I put One of them high, both of them will read high, until I ground the another one, is it normal? Is it not possible to put the input pin floating?


Bes reagrds,
Benny
Group: DynoMotion Message: 941 From: Tom Kerekes Date: 3/6/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
#1 "Stop" will issue an immediate hardware feedhold to KFlop so the motion will begin to stop immediately without a need to flush the motion buffer.  "Reset" will also cause Mach3 to disable the amplifier enables so the motion will also begin to stop immediately.  However because MS Windows is not real-time responsive, pushing any button on a Windows Screen is not 100% reliable in stopping motion.  On most Windows systems the response to a button press is usually nearly instant 99% of the time.  To get 100% reliability instant feedhold you must wire an external switch directly to KFlop that can initiate hardware feed hold.
 
#2 Yes issuing a hardware feedhold to KFlop either through an externally wired button or a custom Mach3 Screen button will cause KFlop to stop immediately along the current path.  Releasing the feedhold will resume motion smoothly along the same path.  However with hardware feedhold Mach3 is not really aware that the machine has stopped, so it is not possible to issue other Mach3 commands such as Jogs or changing offsets.  You must first depress "Stop" in Mach3.
 
#3 This is a common misunderstanding.  When defined as inputs the pins ARE floating.  KFlop uses MOSFET inputs which have extremely high input resistance (> 10 Meg Ohms).  That is why they change more or less randomly and possibly track the signals closest to them due to parasitic resistance and capacitance.  This is normal.   Inputs that are not connected to anything are not defined and may have any value high or low.  If nothing is connected to the input then nothing should care what the state is.  We used to apply weak pull down resistors to avoid this confusion but this caused problems using pins in "open collector" mode as the pin would never go fully "open".
 
I hope this helps
Regards
TK 

Group: DynoMotion Message: 942 From: likleong Date: 3/6/2011
Subject: Re: Buffer issue in mach3
Hi TK,

Thanks for your reply, for question 3, it is okay, I understanding, if we use the pin, we should not put it in floating state. However, for Q1 and Q2, I am a little but confuse, could you please elaborate more on following area?

1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or downloaded to kflop hardware buffer?

2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the instruction to kflop and the buffered motions will continue running until the buffer empty, right after I press the "start" button again in mach3, the motion will continue and there should no missed step or instruction, right?

3. If I press the "stop" button in mach3, the mach3 and kflop will stop immediatly, then how about the content in the buffer? Are they being erase?

4. You said there is a hardware feedhold in kflop, how can we make use of it? If we use this hardware feedhold, how can we keep mach3 and kflop syncronized (make mach3 and flop stop at the same time)

5. What is the difference if I press "stop" and "reset" in mach3?

6. From kflop point of view, is there any concept of "reset", "emergency, "stop" and "feed"? Or just received instruction from Mach3 ?


Best regards,
Benny

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> #1 "Stop" will issue an immediate hardware feedhold to KFlop so the motion will
> begin to stop immediately without a need to flush the motion buffer.  "Reset"
> will also cause Mach3 to disable the amplifier enables so the motion will also
> begin to stop immediately.  However because MS Windows is not real-time
> responsive, pushing any button on a Windows Screen is not 100% reliable in
> stopping motion.  On most Windows systems the response to a button press is
> usually nearly instant 99% of the time.  To get 100% reliability instant
> feedhold you must wire an external switch directly to KFlop that can initiate
> hardware feed hold.
>
> #2 Yes issuing a hardware feedhold to KFlop either through an externally wired
> button or a custom Mach3 Screen button will cause KFlop to stop immediately
> along the current path.  Releasing the feedhold will resume motion smoothly
> along the same path.  However with hardware feedhold Mach3 is not really aware
> that the machine has stopped, so it is not possible to issue other Mach3
> commands such as Jogs or changing offsets.  You must first depress "Stop"
> in Mach3.
>
> #3 This is a common misunderstanding.  When defined as inputs the pins ARE
> floating.  KFlop uses MOSFET inputs which have extremely high input resistance
> (> 10 Meg Ohms).  That is why they change more or less randomly and possibly
> track the signals closest to them due to parasitic resistance and capacitance. 
> This is normal.   Inputs that are not connected to anything are not defined and
> may have any value high or low.  If nothing is connected to the input then
> nothing should care what the state is.  We used to apply weak pull down
> resistors to avoid this confusion but this caused problems using pins in "open
> collector" mode as the pin would never go fully "open".
>
> I hope this helps
> Regards
> TK 
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sun, March 6, 2011 5:59:27 AM
> Subject: [DynoMotion] Buffer issue in mach3
>
>  
> Hi TK,
>
> I have the following questions regarding to mach3 and kflop:
>
> 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be 3
> sec of motion command will be download to kflop's motion buffer? that means even
> mach3 stopped with "stop" or "reset" button, the kflop will keep running for 3
> sec until buffer empty, right?
>
>
> 2. In case of some emergency situation, in spit of hardware EMG stop, is there
> any way to stop the mach3 and kflop immediately but keep the contents in motion
> buffer so that it can resume within mache?
>
> 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and
> keep them floating, normally, they will read as low, however, if I put One of
> them high, both of them will read high, until I ground the another one, is it
> normal? Is it not possible to put the input pin floating?
>
> Bes reagrds,
> Benny
>
Group: DynoMotion Message: 943 From: Tom Kerekes Date: 3/7/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
Regarding:
 
#1 - some of both actually.
#2 - Yes the normal Mach3 feedhold works like that.  However Mach3 doesn't really stop feeding instructions, rather it changed the instructions to a decelerated motion along the path and then a fixed location.
 
#3 - Yes, Stop flushes all the buffers.
 
#4 - Below is a simple program (ExternalFeedhold.c example) to watch an I/O bit and perform hardware feedhold when the input goes high.  Mach3 naturally stays in sync because it doesn't even know it happened.  From its perspective the motion is just taking a long time to execute and the buffer pipeline remains full. 

 

#include

"KMotionDef.h"

main()

{

    for (;;) // loop forever

    {

        WaitNextTimeSlice();

        if (ReadBit(46)) // Watch an external input switch

        {

            StopCoordinatedMotion();

//feedhold

        }

    }

}

 
 
#5 - Basically Stop - stops the motion, Reset - disables al the axes and requires a re-initialization.
 
#6 - KFlop basically receives instructions from Mach3
 
Regards
TK
 

Group: DynoMotion Message: 944 From: likleong Date: 3/7/2011
Subject: Re: Buffer issue in mach3
Hi TK,

Is it meaning that,

1. Only "feedhold" button in mach3 can stop the running code without lost step and motion instruction and then continue after the pause.

2. The hardware feedhold in kflop is actually monitor the input pin by c program and then call a routine to stop/disable all the axis,and all the contents in motion buffer will also be erase.

3. Both hardware feedhold and "stop" button in mach3 will immediately motion the motion, however the buffered instruction will be lost. If we use hardware feedhold, there is no way to notify mach3 when hardware feedhold enabled in kflop.

Best regards,
Benny

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> Regarding:
>
> #1 - some of both actually.
>
> #2 - Yes the normal Mach3 feedhold works like that.  However Mach3 doesn't
> really stop feeding instructions, rather it changed the instructions to a
> decelerated motion along the path and then a fixed location.
>
> #3 - Yes, Stop flushes all the buffers.
>
> #4 - Below is a simple program (ExternalFeedhold.c example) to watch an I/O bit
> and perform hardware feedhold when the input goes high.  Mach3 naturally stays
> in sync because it doesn't even know it happened.  From its perspective the
> motion is just taking a long time to execute and the buffer pipeline remains
> full.   
> #include
> main()
> {"KMotionDef.h"    for(;;) // loop forever    {
>         WaitNextTimeSlice();        if(ReadBit(46)) // Watch an external input
> switch        {
>             StopCoordinatedMotion(); //feedhold        }
>     }
> }
>
>
> #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> requires a re-initialization.
>
> #6 - KFlop basically receives instructions from Mach3
>
> Regards
> TK
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sun, March 6, 2011 11:41:08 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
>  
> Hi TK,
>
> Thanks for your reply, for question 3, it is okay, I understanding, if we use
> the pin, we should not put it in floating state. However, for Q1 and Q2, I am a
> little but confuse, could you please elaborate more on following area?
>
> 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or downloaded
> to kflop hardware buffer?
>
> 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> instruction to kflop and the buffered motions will continue running until the
> buffer empty, right after I press the "start" button again in mach3, the motion
> will continue and there should no missed step or instruction, right?
>
> 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> immediatly, then how about the content in the buffer? Are they being erase?
>
>
> 4. You said there is a hardware feedhold in kflop, how can we make use of it? If
> we use this hardware feedhold, how can we keep mach3 and kflop syncronized (make
> mach3 and flop stop at the same time)
>
> 5. What is the difference if I press "stop" and "reset" in mach3?
>
> 6. From kflop point of view, is there any concept of "reset", "emergency, "stop"
> and "feed"? Or just received instruction from Mach3 ?
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > #1 "Stop" will issue an immediate hardware feedhold to KFlop so the motion
> >will
> >
> > begin to stop immediately without a need to flush the motion buffer.  "Reset"
>
> > will also cause Mach3 to disable the amplifier enables so the motion will also
>
> > begin to stop immediately.  However because MS Windows is not real-time
> > responsive, pushing any button on a Windows Screen is not 100% reliable in
> > stopping motion.  On most Windows systems the response to a button press is
> > usually nearly instant 99% of the time.  To get 100% reliability instant
> > feedhold you must wire an external switch directly to KFlop that can initiate
> > hardware feed hold.
> >
> > #2 Yes issuing a hardware feedhold to KFlop either through an externally wired
>
> > button or a custom Mach3 Screen button will cause KFlop to stop immediately
> > along the current path.  Releasing the feedhold will resume motion smoothly
> > along the same path.  However with hardware feedhold Mach3 is not really aware
> >
> > that the machine has stopped, so it is not possible to issue other Mach3
> > commands such as Jogs or changing offsets.  You must first depress "Stop"
> > in Mach3.
> >
> > #3 This is a common misunderstanding.  When defined as inputs the pins ARE
> > floating.  KFlop uses MOSFET inputs which have extremely high input resistance
> >
> > (> 10 Meg Ohms).  That is why they change more or less randomly and possibly
>
> > track the signals closest to them due to parasitic resistance and
> >capacitance. 
> >
> > This is normal.   Inputs that are not connected to anything are not defined
> >and
> >
> > may have any value high or low.  If nothing is connected to the input then
> > nothing should care what the state is.  We used to apply weak pull down
> > resistors to avoid this confusion but this caused problems using pins in "open
>
> > collector" mode as the pin would never go fully "open".
> >
> > I hope this helps
> > Regards
> > TK 
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sun, March 6, 2011 5:59:27 AM
> > Subject: [DynoMotion] Buffer issue in mach3
> >
> >  
> > Hi TK,
> >
> > I have the following questions regarding to mach3 and kflop:
> >
> > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be 3
>
> > sec of motion command will be download to kflop's motion buffer? that means
> >even
> >
> > mach3 stopped with "stop" or "reset" button, the kflop will keep running for 3
>
> > sec until buffer empty, right?
> >
> >
> > 2. In case of some emergency situation, in spit of hardware EMG stop, is there
>
> > any way to stop the mach3 and kflop immediately but keep the contents in motion
> >
> > buffer so that it can resume within mache?
> >
> > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and
> > keep them floating, normally, they will read as low, however, if I put One of
> > them high, both of them will read high, until I ground the another one, is it
> > normal? Is it not possible to put the input pin floating?
> >
> > Bes reagrds,
> > Benny
> >
>
Group: DynoMotion Message: 945 From: Tom Kerekes Date: 3/8/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
#1 - No.  It is also possible to resume instant hardware feedhold without lost steps.
 
#2 - No.  The hardware does not disable the axes or erase the buffer.  Basically KFlop slows down to a stop and stops taking motion from the buffer.  The buffer remains full.  To resume Kflop again starts taking motion from the buffer.
 
#3 - No. Buffered instructions will not be lost.  Mach3 is always waiting for there to be space in the buffer.  Whenever there becomes space available it fills the buffer.  After KFlop stops consuming motion the buffer will remain full and Mach3 will wait.
 
 
The only problem with hardware feedhold is with issuing other commands while in feedhold.  For example the tool breaks.  You hit hardware feedhold and the machine instantly stops.  But now you want to Jog the machine, change the tool, adjust a work offset, etc.., then resume.  Before doing this you must push Stop in Mach3. 
Regards
TK

Group: DynoMotion Message: 947 From: likleong Date: 3/8/2011
Subject: Re: Buffer issue in mach3
Hi TK,

Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there is also no step lost, but need to waiting for couple of sec until buffer empty, and may be risk of slow respond from windows, right?

Then, how about the "stop" in mach3? you said the buffer contents will be erase in last reply. Is it related to kflop HW feedhold or just use another way to stop immedately?

Finally, if I ignore the respond issue from windows and just use the feedhold in mach3, is there any way to make the mach 3 issue a feedhold command to kflop immedately(StopCoordinatedMotion) without waiting the buffer to empty?


Best regards,
Benny.



--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> #1 - No.  It is also possible to resume instant hardware feedhold without lost
> steps.
>
> #2 - No.  The hardware does not disable the axes or erase the buffer.  Basically
> KFlop slows down to a stop and stops taking motion from the buffer.  The buffer
> remains full.  To resume Kflop again starts taking motion from the buffer.
>
> #3 - No. Buffered instructions will not be lost.  Mach3 is always waiting for
> there to be space in the buffer.  Whenever there becomes space available it
> fills the buffer.  After KFlop stops consuming motion the buffer will remain
> full and Mach3 will wait.
>
>
> The only problem with hardware feedhold is with issuing other commands while in
> feedhold.  For example the tool breaks.  You hit hardware feedhold and the
> machine instantly stops.  But now you want to Jog the machine, change the
> tool, adjust a work offset, etc.., then resume.  Before doing this you must push
> Stop in Mach3. 
>
> Regards
> TK
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Mon, March 7, 2011 11:38:26 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
>  
> Hi TK,
>
> Is it meaning that,
>
> 1. Only "feedhold" button in mach3 can stop the running code without lost step
> and motion instruction and then continue after the pause.
>
> 2. The hardware feedhold in kflop is actually monitor the input pin by c program
> and then call a routine to stop/disable all the axis,and all the contents in
> motion buffer will also be erase.
>
> 3. Both hardware feedhold and "stop" button in mach3 will immediately motion the
> motion, however the buffered instruction will be lost. If we use hardware
> feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> kflop.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Regarding:
> >
> > #1 - some of both actually.
> >
> > #2 - Yes the normal Mach3 feedhold works like that.  However Mach3 doesn't
> > really stop feeding instructions, rather it changed the instructions to a
> > decelerated motion along the path and then a fixed location.
> >
> > #3 - Yes, Stop flushes all the buffers.
> >
> > #4 - Below is a simple program (ExternalFeedhold.c example) to watch an I/O
> >bit
> >
> > and perform hardware feedhold when the input goes high.  Mach3 naturally stays
> >
> > in sync because it doesn't even know it happened.  From its perspective the
> > motion is just taking a long time to execute and the buffer pipeline remains
> > full.   
> > #include
> > main()
> > {"KMotionDef.h"    for(;;) // loop forever    {
> >         WaitNextTimeSlice();        if(ReadBit(46)) // Watch an
> >external input
> >
> > switch        {
> >             StopCoordinatedMotion(); //feedhold        }
> >     }
> > }
> >
> >
> > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> > requires a re-initialization.
> >
> > #6 - KFlop basically receives instructions from Mach3
> >
> > Regards
> > TK
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Sun, March 6, 2011 11:41:08 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> >  
> > Hi TK,
> >
> > Thanks for your reply, for question 3, it is okay, I understanding, if we use
> > the pin, we should not put it in floating state. However, for Q1 and Q2, I am a
> >
> > little but confuse, could you please elaborate more on following area?
> >
> > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> >downloaded
> >
> > to kflop hardware buffer?
> >
> > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> > instruction to kflop and the buffered motions will continue running until the
> > buffer empty, right after I press the "start" button again in mach3, the motion
> >
> > will continue and there should no missed step or instruction, right?
> >
> > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > immediatly, then how about the content in the buffer? Are they being erase?
> >
> >
> > 4. You said there is a hardware feedhold in kflop, how can we make use of it?
> >If
> >
> > we use this hardware feedhold, how can we keep mach3 and kflop syncronized
> >(make
> >
> > mach3 and flop stop at the same time)
> >
> > 5. What is the difference if I press "stop" and "reset" in mach3?
> >
> > 6. From kflop point of view, is there any concept of "reset", "emergency,
> >"stop"
> >
> > and "feed"? Or just received instruction from Mach3 ?
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > #1 "Stop" will issue an immediate hardware feedhold to KFlop so the motion
> >
> > >will
> > >
> > > begin to stop immediately without a need to flush the motion buffer. 
> >"Reset"
> >
> >
> > > will also cause Mach3 to disable the amplifier enables so the motion will
> >also
> >
> >
> > > begin to stop immediately.  However because MS Windows is not real-time
> > > responsive, pushing any button on a Windows Screen is not 100% reliable in
> > > stopping motion.  On most Windows systems the response to a button press
> >is
> >
> > > usually nearly instant 99% of the time.  To get 100% reliability instant
> > > feedhold you must wire an external switch directly to KFlop that can initiate
> >
> > > hardware feed hold.
> > >
> > > #2 Yes issuing a hardware feedhold to KFlop either through an externally
> >wired
> >
> >
> > > button or a custom Mach3 Screen button will cause KFlop to stop immediately
> > > along the current path.  Releasing the feedhold will resume motion
> >smoothly
> >
> > > along the same path.  However with hardware feedhold Mach3 is not really
> >aware
> >
> > >
> > > that the machine has stopped, so it is not possible to issue other Mach3
> > > commands such as Jogs or changing offsets.  You must first depress "Stop"
>
> > > in Mach3.
> > >
> > > #3 This is a common misunderstanding.  When defined as inputs the pins ARE
> >
> > > floating.  KFlop uses MOSFET inputs which have extremely high input
> >resistance
> >
> > >
> > > (> 10 Meg Ohms).  That is why they change more or less randomly
> >and possibly
> >
> >
> > > track the signals closest to them due to parasitic resistance and
> > >capacitance. 
> > >
> > > This is normal.   Inputs that are not connected to anything are not
> >defined
> >
> > >and
> > >
> > > may have any value high or low.  If nothing is connected to the input then
> >
> > > nothing should care what the state is.  We used to apply weak pull down
> >
> > > resistors to avoid this confusion but this caused problems using pins in
> >"open
> >
> >
> > > collector" mode as the pin would never go fully "open".
> > >
> > > I hope this helps
> > > Regards
> > > TK 
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > Subject: [DynoMotion] Buffer issue in mach3
> > >
> > >  
> > > Hi TK,
> > >
> > > I have the following questions regarding to mach3 and kflop:
> > >
> > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will be
> >3
> >
> >
> > > sec of motion command will be download to kflop's motion buffer? that means
> > >even
> > >
> > > mach3 stopped with "stop" or "reset" button, the kflop will keep running for
> >3
> >
> >
> > > sec until buffer empty, right?
> > >
> > >
> > > 2. In case of some emergency situation, in spit of hardware EMG stop, is
> >there
> >
> >
> > > any way to stop the mach3 and kflop immediately but keep the contents in
> >motion
> >
> > >
> > > buffer so that it can resume within mache?
> > >
> > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input and
> >
> > > keep them floating, normally, they will read as low, however, if I put One of
> >
> > > them high, both of them will read high, until I ground the another one, is it
> >
> > > normal? Is it not possible to put the input pin floating?
> > >
> > > Bes reagrds,
> > > Benny
> > >
> >
>
Group: DynoMotion Message: 948 From: Tom Kerekes Date: 3/9/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
Regarding question #1 - Exactly Correct.
Regarding question #2 - I'm not sure exactly what you are asking - but I think the Mach3 manual states that "Stop" is likely to loose steps as it abruptly stops generating motion and flushes its buffers.  In our plugin we attempt to issue a hardware feedhold, then after coming to a stop, flush our buffers, then re-sync the position with Mach3.  So it should be instant and with no loss of steps, but not necessarily resume-able.
Regarding question #3 - Yes.  To issue a hardware feedhold from a Mach3 screen you will need to modify a Mach3 screen to add or change the functionality of a button to issue a NotifyPlugins(XX) message.  This will cause your Notify C program to execute in KFlop and pass it the message XX.   (Message numbers 10000 - 10999 will be passed to KFLOP).  You can then code your Notify C program to issue the StopCoordinatedMotion().
 
Regards
TK 

Group: DynoMotion Message: 949 From: likleong Date: 3/9/2011
Subject: Re: Buffer issue in mach3
Hi TK,

Do you have any idea how to modify the existing "feedhold" button in mach3, on top of the existing function, also make it issue a NotifyPlugins(XX) message to klop. On the other hand, how to handle the resume after the above feedhold? Thanks.


Best regards,
Benny

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> Regarding question #1 - Exactly Correct.
>
> Regarding question #2 - I'm not sure exactly what you are asking - but I think
> the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> stops generating motion and flushes its buffers.  In our plugin we attempt to
> issue a hardware feedhold, then after coming to a stop, flush our buffers, then
> re-sync the position with Mach3.  So it should be instant and with no loss of
> steps, but not necessarily resume-able.
>
> Regarding question #3 - Yes.  To issue a hardware feedhold from a Mach3 screen
> you will need to modify a Mach3 screen to add or change the functionality of a
> button to issue a NotifyPlugins(XX) message.  This will cause your Notify C
> program to execute in KFlop and pass it the message XX.   (Message numbers 10000
> - 10999 will be passed to KFLOP).  You can then code your Notify C program to
> issue the StopCoordinatedMotion().
>
> Regards
> TK 
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Tue, March 8, 2011 11:02:52 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
>  
> Hi TK,
>
> Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there is
> also no step lost, but need to waiting for couple of sec until buffer empty, and
> may be risk of slow respond from windows, right?
>
> Then, how about the "stop" in mach3? you said the buffer contents will be erase
> in last reply. Is it related to kflop HW feedhold or just use another way to
> stop immedately?
>
> Finally, if I ignore the respond issue from windows and just use the feedhold in
> mach3, is there any way to make the mach 3 issue a feedhold command to kflop
> immedately(StopCoordinatedMotion) without waiting the buffer to empty?
>
> Best regards,
> Benny.
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > #1 - No.  It is also possible to resume instant hardware feedhold without lost
> >
> > steps.
> >
> > #2 - No.  The hardware does not disable the axes or erase the buffer. 
> >Basically
> >
> > KFlop slows down to a stop and stops taking motion from the buffer.  The
> >buffer
> >
> > remains full.  To resume Kflop again starts taking motion from the buffer.
> >
> > #3 - No. Buffered instructions will not be lost.  Mach3 is always waiting
> >for
> >
> > there to be space in the buffer.  Whenever there becomes space available it
> > fills the buffer.  After KFlop stops consuming motion the buffer will remain
> >
> > full and Mach3 will wait.
> >
> >
> > The only problem with hardware feedhold is with issuing other commands
> >while in
> >
> > feedhold.  For example the tool breaks.  You hit hardware feedhold and the
> > machine instantly stops.  But now you want to Jog the machine, change the
> > tool, adjust a work offset, etc.., then resume.  Before doing this you must
> >push
> >
> > Stop in Mach3. 
> >
> > Regards
> > TK
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Mon, March 7, 2011 11:38:26 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> >  
> > Hi TK,
> >
> > Is it meaning that,
> >
> > 1. Only "feedhold" button in mach3 can stop the running code without lost step
>
> > and motion instruction and then continue after the pause.
> >
> > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> >program
> >
> > and then call a routine to stop/disable all the axis,and all the contents in
> > motion buffer will also be erase.
> >
> > 3. Both hardware feedhold and "stop" button in mach3 will immediately motion
> >the
> >
> > motion, however the buffered instruction will be lost. If we use hardware
> > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> > kflop.
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > Regarding:
> > >
> > > #1 - some of both actually.
> > >
> > > #2 - Yes the normal Mach3 feedhold works like that.  However Mach3 doesn't
> >
> > > really stop feeding instructions, rather it changed the instructions to a
> > > decelerated motion along the path and then a fixed location.
> > >
> > > #3 - Yes, Stop flushes all the buffers.
> > >
> > > #4 - Below is a simple program (ExternalFeedhold.c example) to watch an
> >I/O
> >
> > >bit
> > >
> > > and perform hardware feedhold when the input goes high.  Mach3 naturally
> >stays
> >
> > >
> > > in sync because it doesn't even know it happened.  From its perspective
> >the
> >
> > > motion is just taking a long time to execute and the buffer pipeline remains
>
> > > full.   
> > > #include
> > > main()
> > > {"KMotionDef.h"    for(;;) // loop forever    {
> > >         WaitNextTimeSlice();       
> >if(ReadBit(46)) // Watch an
> >
> > >external input
> > >
> > > switch        {
> > >             StopCoordinatedMotion();
> >//feedhold        }
> > >     }
> > > }
> > >
> > >
> > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> > > requires a re-initialization.
> > >
> > > #6 - KFlop basically receives instructions from Mach3
> > >
> > > Regards
> > > TK
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > >  
> > > Hi TK,
> > >
> > > Thanks for your reply, for question 3, it is okay, I understanding, if we use
> >
> > > the pin, we should not put it in floating state. However, for Q1 and Q2, I am
> >a
> >
> > >
> > > little but confuse, could you please elaborate more on following area?
> > >
> > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > >downloaded
> > >
> > > to kflop hardware buffer?
> > >
> > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> > > instruction to kflop and the buffered motions will continue running until the
> >
> > > buffer empty, right after I press the "start" button again in mach3, the
> >motion
> >
> > >
> > > will continue and there should no missed step or instruction, right?
> > >
> > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > immediatly, then how about the content in the buffer? Are they being erase?
> > >
> > >
> > > 4. You said there is a hardware feedhold in kflop, how can we make use of it?
> >
> > >If
> > >
> > > we use this hardware feedhold, how can we keep mach3 and kflop syncronized
> > >(make
> > >
> > > mach3 and flop stop at the same time)
> > >
> > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > >
> > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> > >"stop"
> > >
> > > and "feed"? Or just received instruction from Mach3 ?
> > >
> > > Best regards,
> > > Benny
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > #1 "Stop" will issue an immediateÃÆ'‚ hardware feedhold to KFlop so the
> >motion
> >
> > >
> > > >will
> > > >
> > > > begin to stop immediately without a need to flush the motion
> >buffer.ÃÆ'‚ 
> >
> > >"Reset"
> > >
> > >
> > > > will also cause Mach3 to disable the amplifier enables so the motion will
> > >also
> > >
> > >
> > > > begin to stop immediately.ÃÆ'‚  However because MS Windows is not
> >real-time
> >
> > > > responsive, pushing any button on a Windows Screen is not 100% reliable in
>
> > > > stopping motion.ÃÆ'‚  On most Windows systems the response to a button
> >press
> >
> > >is
> > >
> > > > usually nearly instant 99% of the time.ÃÆ'‚  To get 100% reliability
> >instant
> >
> > > > feedhold you must wire an external switch directly to KFlop that can
> >initiate
> >
> > >
> > > > hardware feed hold.
> > > >
> > > > #2 Yes issuing a hardware feedhold to KFlop either through an externally
> > >wired
> > >
> > >
> > > > button or a custom Mach3 Screen button will cause KFlop to stop immediately
> >
> > > > along the current path.ÃÆ'‚  Releasing the feedhold will resume motion
>
> > >smoothly
> > >
> > > > along the same path.ÃÆ'‚  However with hardware feedhold Mach3 is not
> >really
> >
> > >aware
> > >
> > > >
> > > > that the machine has stopped, so it is not possible to issue other Mach3
> > > > commands such as Jogs or changing offsets.ÃÆ'‚  You must first depress
> >"Stop"
> >
> >
> > > > inÃÆ'‚ Mach3.
> > > >
> > > > #3 This is a common misunderstanding.ÃÆ'‚  When defined as inputs the
> >pins ARE
> >
> > >
> > > > floating.ÃÆ'‚  KFlop uses MOSFET inputs which have extremely high input
> >
> > >resistance
> > >
> > > >
> > > > (> 10 Meg Ohms).ÃÆ'‚  That is why they change more or less randomly
> > >andÃÆ'‚ possibly
> > >
> > >
> > > > track the signals closest to them due to parasitic resistance and
> > > >capacitance.ÃÆ'‚ 
> > > >
> > > > This is normal.ÃÆ'‚ ÃÆ'‚  Inputs that are not connected to anything
> >are not
> >
> > >defined
> > >
> > > >and
> > > >
> > > > may have any value high or low.ÃÆ'‚  If nothing is connected to the
> >input then
> >
> > >
> > > > nothing should care what the state is.ÃÆ'‚  We used to
> >applyÃÆ'‚ weak pull down
> >
> > >
> > > > resistors to avoid this confusion but this caused problems using pins in
> > >"open
> > >
> > >
> > > > collector" mode as the pin would never go fully "open".
> > > >
> > > > I hope this helps
> > > > Regards
> > > > TKÃÆ'‚ 
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > > Subject: [DynoMotion] Buffer issue in mach3
> > > >
> > > > ÃÆ'‚ 
> > > > Hi TK,
> > > >
> > > > I have the following questions regarding to mach3 and kflop:
> > > >
> > > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will
> >be
> >
> > >3
> > >
> > >
> > > > sec of motion command will be download to kflop's motion buffer? that means
> >
> > > >even
> > > >
> > > > mach3 stopped with "stop" or "reset" button, the kflop will keep running
> >for
> >
> > >3
> > >
> > >
> > > > sec until buffer empty, right?
> > > >
> > > >
> > > > 2. In case of some emergency situation, in spit of hardware EMG stop, is
> > >there
> > >
> > >
> > > > any way to stop the mach3 and kflop immediately but keep the contents in
> > >motion
> > >
> > > >
> > > > buffer so that it can resume within mache?
> > > >
> > > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input
> >and
> >
> > >
> > > > keep them floating, normally, they will read as low, however, if I put One
> >of
> >
> > >
> > > > them high, both of them will read high, until I ground the another one, is
> >it
> >
> > >
> > > > normal? Is it not possible to put the input pin floating?
> > > >
> > > > Bes reagrds,
> > > > Benny
> > > >
> > >
> >
>
Group: DynoMotion Message: 950 From: Tom Kerekes Date: 3/9/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
Read this and see if you still have questions.  Look for information on the Mach3 site on how to change the screens.  We recommend the one written by Klaus Dietz. 
 
 
If you change the Cycle Start button to do:
 
NotifyPlugins(11000) 
 
The Cycle Start button should resume if KFlop is in the Hardware Feedhold state, otherwise it will do a normal Cycle Start.
 
Let me know if it isn't clear.
 
Regards
TK
 
 

Group: DynoMotion Message: 951 From: likleong Date: 3/10/2011
Subject: Re: Buffer issue in mach3
Hi TK,

Thanks, I will try it out. I have another question regarding to the IO pins in kflop, can I define a general IO pin as output and in open collector at the same time? If I want to use the IO pin to drive a relay, any suggestion? Thanks.


Best regards,
Benny

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> Read this and see if you still have questions.  Look for information on the
> Mach3 site on how to change the screens.  We recommend the one written by Klaus
> Dietz. 
>
>
> http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
>
> If you change the Cycle Start button to do:
>
> NotifyPlugins(11000) 
>
> The Cycle Start button should resume if KFlop is in the Hardware Feedhold state,
> otherwise it will do a normal Cycle Start.
>
> Let me know if it isn't clear.
>
> Regards
> TK
>
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Wed, March 9, 2011 5:31:06 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
>  
> Hi TK,
>
> Do you have any idea how to modify the existing "feedhold" button in mach3, on
> top of the existing function, also make it issue a NotifyPlugins(XX) message to
> klop. On the other hand, how to handle the resume after the above feedhold?
> Thanks.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Regarding question #1 - Exactly Correct.
> >
> > Regarding question #2 - I'm not sure exactly what you are asking - but I think
> >
> > the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> > stops generating motion and flushes its buffers.  In our plugin we attempt to
>
> > issue a hardware feedhold, then after coming to a stop, flush our buffers, then
> >
> > re-sync the position with Mach3.  So it should be instant and with no loss of
>
> > steps, but not necessarily resume-able.
> >
> > Regarding question #3 - Yes.  To issue a hardware feedhold from a Mach3 screen
> >
> > you will need to modify a Mach3 screen to add or change the functionality of a
> >
> > button to issue a NotifyPlugins(XX) message.  This will cause your Notify C
> > program to execute in KFlop and pass it the message XX.   (Message numbers
> >10000
> >
> > - 10999 will be passed to KFLOP).  You can then code your Notify C program to
>
> > issue the StopCoordinatedMotion().
> >
> > Regards
> > TK 
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Tue, March 8, 2011 11:02:52 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> >  
> > Hi TK,
> >
> > Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there
> >is
> >
> > also no step lost, but need to waiting for couple of sec until buffer empty,
> >and
> >
> > may be risk of slow respond from windows, right?
> >
> > Then, how about the "stop" in mach3? you said the buffer contents will be erase
> >
> > in last reply. Is it related to kflop HW feedhold or just use another way to
> > stop immedately?
> >
> > Finally, if I ignore the respond issue from windows and just use the feedhold
> >in
> >
> > mach3, is there any way to make the mach 3 issue a feedhold command to kflop
> > immedately(StopCoordinatedMotion) without waiting the buffer to empty?
> >
> > Best regards,
> > Benny.
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > #1 - No.  It is also possible to resume instant hardware feedhold without
> >lost
> >
> > >
> > > steps.
> > >
> > > #2 - No.  The hardware does not disable the axes or erase the buffer. 
>
> > >Basically
> > >
> > > KFlop slows down to a stop and stops taking motion from the buffer.  The
> > >buffer
> > >
> > > remains full.  To resume Kflop again starts taking motion from the
> buffer.
> > >
> > > #3 - No. Buffered instructions will not be lost.  Mach3 is always
> >waiting
> >
> > >for
> > >
> > > there to be space in the buffer.  Whenever there becomes space available
> >it
> >
> > > fills the buffer.  After KFlop stops consuming motion the buffer
> >will remain
> >
> > >
> > > full and Mach3 will wait.
> > >
> > >
> > > The only problem with hardware feedhold is with issuing other commands
> > >while in
> > >
> > > feedhold.  For example the tool breaks.  You hit hardware feedhold and
> >the
> >
> > > machine instantly stops.  But now you want to Jog the machine, change the
>
> > > tool, adjust a work offset, etc.., then resume.  Before doing this you
> >must
> >
> > >push
> > >
> > > Stop in Mach3. 
> > >
> > > Regards
> > > TK
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Mon, March 7, 2011 11:38:26 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > >  
> > > Hi TK,
> > >
> > > Is it meaning that,
> > >
> > > 1. Only "feedhold" button in mach3 can stop the running code without lost
> >step
> >
> >
> > > and motion instruction and then continue after the pause.
> > >
> > > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> > >program
> > >
> > > and then call a routine to stop/disable all the axis,and all the contents in
>
> > > motion buffer will also be erase.
> > >
> > > 3. Both hardware feedhold and "stop" button in mach3 will immediately motion
>
> > >the
> > >
> > > motion, however the buffered instruction will be lost. If we use hardware
> > > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> > > kflop.
> > >
> > > Best regards,
> > > Benny
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > Regarding:
> > > >
> > > > #1 -ÃÆ'‚ some of both actually.
> > > >
> > > > #2 - Yes the normal Mach3 feedhold works like that.ÃÆ'‚  However Mach3
> >doesn't
> >
> > >
> > > > really stop feeding instructions, rather it changed the instructions to a
> > > > decelerated motion along the path and then a fixed location.
> > > >
> > > > #3 - Yes, Stop flushes all the buffers.
> > > >
> > > > #4 - Below is a simple programÃÆ'‚ (ExternalFeedhold.c
> >example)ÃÆ'‚ to watch an
> >
> > >I/O
> > >
> > > >bit
> > > >
> > > > and perform hardware feedhold when the input goes high.ÃÆ'‚  Mach3
> >naturally
> >
> > >stays
> > >
> > > >
> > > > in sync because it doesn't even know it happened.ÃÆ'‚  From its
> >perspective
> >
> > >the
> > >
> > > > motion is just taking a long time to execute and the buffer pipeline
> >remains
> >
> >
> > > > full.ÃÆ'‚  ÃÆ'‚ 
> > > > #include
> > > > main()
> > > > {"KMotionDef.h"ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  for(;;) // loop
> >foreverÃÆ'‚ ÃÆ'‚ ÃÆ'‚  {
> > > > ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  ÃÆ'‚ ÃÆ'‚ ÃÆ'‚ 
> >WaitNextTimeSlice();ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  ÃÆ'‚ ÃÆ'‚ ÃÆ'‚ 
> >
> > >if(ReadBit(46)) // Watch an
> > >
> > > >external input
> > > >
> > > > switchÃÆ'‚ ÃÆ'‚ ÃÆ'‚  ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  {
> > > > ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  ÃÆ'‚ ÃÆ'‚ ÃÆ'‚ 
> >ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  StopCoordinatedMotion();
> >
> > >//feedholdÃÆ'‚ ÃÆ'‚ ÃÆ'‚  ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  }
> > > > ÃÆ'‚ ÃÆ'‚ ÃÆ'‚  }
> > > > }
> > > >
> > > >
> > > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
> > > > requires a re-initialization.
> > > >
> > > > #6 - KFlop basicallyÃÆ'‚ receives instructions from Mach3
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > >
> > > > ÃÆ'‚ 
> > > > Hi TK,
> > > >
> > > > Thanks for your reply, for question 3, it is okay, I understanding, if we
> >use
> >
> > >
> > > > the pin, we should not put it in floating state. However, for Q1 and Q2, I
> >am
> >
> > >a
> > >
> > > >
> > > > little but confuse, could you please elaborate more on following area?
> > > >
> > > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > > >downloaded
> > > >
> > > > to kflop hardware buffer?
> > > >
> > > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> > > > instruction to kflop and the buffered motions will continue running until
> >the
> >
> > >
> > > > buffer empty, right after I press the "start" button again in mach3, the
> > >motion
> > >
> > > >
> > > > will continue and there should no missed step or instruction, right?
> > > >
> > > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > > immediatly, then how about the content in the buffer? Are they being erase?
> >
> > > >
> > > >
> > > > 4. You said there is a hardware feedhold in kflop, how can we make use of
> >it?
> >
> > >
> > > >If
> > > >
> > > > we use this hardware feedhold, how can we keep mach3 and kflop syncronized
>
> > > >(make
> > > >
> > > > mach3 and flop stop at the same time)
> > > >
> > > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > > >
> > > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> > > >"stop"
> > > >
> > > > and "feed"? Or just received instruction from Mach3 ?
> > > >
> > > > Best regards,
> > > > Benny
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Benny,
> > > > >
> > > > > #1 "Stop" will issue an immediateÃÆ'Æ'‚ÃÆ'‚ hardware feedhold to
> >KFlop so the
> >
> > >motion
> > >
> > > >
> > > > >will
> > > > >
> > > > > begin to stop immediately without a need to flush the motion
> > >buffer.ÃÆ'Æ'‚ÃÆ'‚ 
> > >
> > > >"Reset"
> > > >
> > > >
> > > > > will also cause Mach3 to disable the amplifier enables so the motion will
> >
> > > >also
> > > >
> > > >
> > > > > begin to stop immediately.ÃÆ'Æ'‚ÃÆ'‚  However because MS Windows
> >is not
> >
> > >real-time
> > >
> > > > > responsive, pushing any button on a Windows Screen is not 100% reliable
> >in
> >
> >
> > > > > stopping motion.ÃÆ'Æ'‚ÃÆ'‚  On most Windows systems the response
> >to a button
> >
> > >press
> > >
> > > >is
> > > >
> > > > > usually nearly instant 99% of the time.ÃÆ'Æ'‚ÃÆ'‚  To get 100%
> >reliability
> >
> > >instant
> > >
> > > > > feedhold you must wire an external switch directly to KFlop that can
> > >initiate
> > >
> > > >
> > > > > hardware feed hold.
> > > > >
> > > > > #2 Yes issuing a hardware feedhold to KFlop either through an externally
>
> > > >wired
> > > >
> > > >
> > > > > button or a custom Mach3 Screen button will cause KFlop to stop
> >immediately
> >
> > >
> > > > > along the current path.ÃÆ'Æ'‚ÃÆ'‚  Releasing the feedhold will
> >resume motion
> >
> >
> > > >smoothly
> > > >
> > > > > along the same path.ÃÆ'Æ'‚ÃÆ'‚  However with hardware feedhold
> >Mach3 is not
> >
> > >really
> > >
> > > >aware
> > > >
> > > > >
> > > > > that the machine has stopped, so it is not possible to issue other Mach3
>
> > > > > commands such as Jogs or changing offsets.ÃÆ'Æ'‚ÃÆ'‚  You must
> >first depress
> >
> > >"Stop"
> > >
> > >
> > > > > inÃÆ'Æ'‚ÃÆ'‚ Mach3.
> > > > >
> > > > > #3 This is a common misunderstanding.ÃÆ'Æ'‚ÃÆ'‚  When defined as
> >inputs the
> >
> > >pins ARE
> > >
> > > >
> > > > > floating.ÃÆ'Æ'‚ÃÆ'‚  KFlop uses MOSFET inputs which have
> >extremely high input
> >
> > >
> > > >resistance
> > > >
> > > > >
> > > > > (> 10 Meg Ohms).ÃÆ'Æ'‚ÃÆ'‚  That is why they change more or less
> >randomly
> >
> > > >andÃÆ'Æ'‚ÃÆ'‚ possibly
> > > >
> > > >
> > > > > track the signals closest to them due to parasitic resistance and
> > > > >capacitance.ÃÆ'Æ'‚ÃÆ'‚ 
> > > > >
> > > > > This is normal.ÃÆ'Æ'‚ÃÆ'‚ ÃÆ'Æ'‚ÃÆ'‚  Inputs that are
> >not connected to anything
> >
> > >are not
> > >
> > > >defined
> > > >
> > > > >and
> > > > >
> > > > > may have any value high or low.ÃÆ'Æ'‚ÃÆ'‚  If nothing is
> >connected to the
> >
> > >input then
> > >
> > > >
> > > > > nothing should care what the state is.ÃÆ'Æ'‚ÃÆ'‚  We used to
> > >applyÃÆ'Æ'‚ÃÆ'‚ weak pull down
> > >
> > > >
> > > > > resistors to avoid this confusion but this caused problems using pins in
>
> > > >"open
> > > >
> > > >
> > > > > collector" mode as the pin would never go fully "open".
> > > > >
> > > > > I hope this helps
> > > > > Regards
> > > > > TKÃÆ'Æ'‚ÃÆ'‚ 
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: likleong <likleong@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > > > Subject: [DynoMotion] Buffer issue in mach3
> > > > >
> > > > > ÃÆ'Æ'‚ÃÆ'‚ 
> > > > > Hi TK,
> > > > >
> > > > > I have the following questions regarding to mach3 and kflop:
> > > > >
> > > > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there will
> >
> > >be
> > >
> > > >3
> > > >
> > > >
> > > > > sec of motion command will be download to kflop's motion buffer? that
> >means
> >
> > >
> > > > >even
> > > > >
> > > > > mach3 stopped with "stop" or "reset" button, the kflop will keep running
>
> > >for
> > >
> > > >3
> > > >
> > > >
> > > > > sec until buffer empty, right?
> > > > >
> > > > >
> > > > > 2. In case of some emergency situation, in spit of hardware EMG stop, is
>
> > > >there
> > > >
> > > >
> > > > > any way to stop the mach3 and kflop immediately but keep the contents in
>
> > > >motion
> > > >
> > > > >
> > > > > buffer so that it can resume within mache?
> > > > >
> > > > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as Input
> >
> > >and
> > >
> > > >
> > > > > keep them floating, normally, they will read as low, however, if I put
> >One
> >
> > >of
> > >
> > > >
> > > > > them high, both of them will read high, until I ground the another one,
> >is
> >
> > >it
> > >
> > > >
> > > > > normal? Is it not possible to put the input pin floating?
> > > > >
> > > > > Bes reagrds,
> > > > > Benny
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 952 From: Tom Kerekes Date: 3/11/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
I assume you are trying to drive something like the +5V input of a SSR (Solid State Relay) in open collector mode and NOT something like a 12V relay.
 
From a User Program to drive an I/O pin low set the Bit low and set it as an Output with:
 
ClearBit(XX);
SetBitDirection(XX,1);
To set an I/O pin "open" set the pin as an input.
 
SetBitDirection(XX,0);
 
As an input the Pin will be able to "float" up to ~3.9V because it is diode clamped to the 3.3V supply.
 
Regards
TK
 
 

Group: DynoMotion Message: 953 From: likleong Date: 3/11/2011
Subject: Re: Buffer issue in mach3
Hi TK,

May be my question is not clear enough, I want to use the kflop IO pin as an output to drive a 3v relay directly, but I am afraid the current is not enough, because the relay need 50 mA to operate. Is there any way to solve this problem? How about set the IO pin in open collector mode?



Best regards,
Benny

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> I assume you are trying to drive something like the +5V input of a SSR (Solid
> State Relay) in open collector mode and NOT something like a 12V relay.
>
> From a User Program to drive an I/O pin low set the Bit low and set it as an
> Output with:
>
> ClearBit(XX);
> SetBitDirection(XX,1);
>
> To set an I/O pin "open" set the pin as an input.
>
> SetBitDirection(XX,0);
>
> As an input the Pin will be able to "float" up to ~3.9V because it is diode
> clamped to the 3.3V supply.
>
> Regards
> TK
>
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Thu, March 10, 2011 11:28:57 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> �
> Hi TK,
>
> Thanks, I will try it out. I have another question regarding to the IO pins in
> kflop, can I define a general IO pin as output and in open collector at the same
> time? If I want to use the IO pin to drive a relay, any suggestion? Thanks.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Read this and see if you still have questions.�� Look for information on the
> > Mach3 site on how to change the screens. ��We recommend the one written by
> >Klaus
> >
> > Dietz.��
> >
> >
> > http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
> >
> > If you change the Cycle Start button to do:
> >
> > NotifyPlugins(11000)��
> >
> > The Cycle Start button should resume if KFlop is in the Hardware Feedhold
> >state,
> >
> > otherwise it will do a normal Cycle Start.
> >
> > Let me know if it isn't clear.
> >
> > Regards
> > TK
> >
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Wed, March 9, 2011 5:31:06 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > ��
> > Hi TK,
> >
> > Do you have any idea how to modify the existing "feedhold" button in mach3, on
>
> > top of the existing function, also make it issue a NotifyPlugins(XX) message to
> >
> > klop. On the other hand, how to handle the resume after the above feedhold?
> > Thanks.
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > Regarding question #1 - Exactly Correct.
> > >
> > > Regarding question #2 -��斾寉啱'm not sure exactly what you are asking - but I
> >think
> >
> > >
> > > the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> > > stops generating motion and flushes its buffers.��斾寉  In our plugin we attempt
> >to
> >
> >
> > > issue a hardware feedhold, then after coming to a stop, flush our buffers,
> >then
> >
> > >
> > > re-sync the position with Mach3.��斾寉  So it should be instant and with no loss
> >of
> >
> >
> > > steps, but not necessarily resume-able.
> > >
> > > Regarding question #3 - Yes.��斾寉  To issue a hardware feedhold from a Mach3
> >screen
> >
> > >
> > > you will need to modify��斾寉乸 Mach3 screen to add or change the functionality
> >of a
> >
> > >
> > > button to issue a NotifyPlugins(XX) message.��斾寉  This will cause��斾寉∂our
> >Notify C
> >
> > > program to execute in KFlop and pass it the message XX.��斾寉ó钊�斾寉  (Message
> >numbers
> >
> > >10000
> > >
> > > - 10999 will be passed to KFLOP).��斾寉  You can then code your Notify C program
> >to
> >
> >
> > > issue the StopCoordinatedMotion().
> > >
> > > Regards
> > > TK��斾寉 
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Tue, March 8, 2011 11:02:52 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > > ��斾寉 
> > > Hi TK,
> > >
> > > Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there
> >
> > >is
> > >
> > > also no step lost, but need to waiting for couple of sec until buffer empty,
>
> > >and
> > >
> > > may be risk of slow respond from windows, right?
> > >
> > > Then, how about the "stop" in mach3? you said the buffer contents will be
> >erase
> >
> > >
> > > in last reply. Is it related to kflop HW feedhold or just use another way to
>
> > > stop immedately?
> > >
> > > Finally, if I ignore the respond issue from windows and just use the feedhold
> >
> > >in
> > >
> > > mach3, is there any way to make the mach 3 issue a feedhold command to kflop
>
> > > immedately(StopCoordinatedMotion) without waiting the buffer to empty?
> > >
> > > Best regards,
> > > Benny.
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > #1 - No.��â�¬Å¡Ã钊�斾寉  It is also possible to resume instant hardware feedhold
> >without
> >
> > >lost
> > >
> > > >
> > > > steps.
> > > >
> > > > #2 - No.��â�¬Å¡Ã钊�斾寉  The hardware does not disable the axes or erase the
> >buffer.��â�¬Å¡Ã钊�斾寉 
> >
> >
> > > >Basically
> > > >
> > > > KFlop slows down to a stop and stops taking motion from the
> >buffer.��â�¬Å¡Ã钊�斾寉  The
> >
> > > >buffer
> > > >
> > > > remains full.��â�¬Å¡Ã钊�斾寉  To resume Kflop again starts taking motion from the
>
> > buffer.
> > > >
> > > > #3 -��â�¬Å¡Ã钊�斾寉嘅o.��â�¬Å¡Ã钊�斾寉脷uffered instructions will not be
> >lost.��â�¬Å¡Ã钊�斾寉ó纱黒¢ââ\Å¡��斾寉嗰ach3 is always
> >
> > >waiting
> > >
> > > >for
> > > >
> > > > there to be space in the buffer.��â�¬Å¡Ã钊�斾寉  Whenever there becomes space
> >available
> >
> > >it
> > >
> > > > fills the buffer.��â�¬Å¡Ã钊�斾寉  After��â�¬Å¡Ã钊�斾寉嗱Flop stops��â�¬Å¡Ã钊�斾寉氲onsuming
> >motion the buffer
> >
> > >will remain
> > >
> > > >
> > > > full and Mach3 will wait.
> > > >
> > > >
> > > > The only problem with hardware feedhold is with issuing other commands
> > > >while��â�¬Å¡Ã钊�斾寉湶n
> > > >
> > > > feedhold.��â�¬Å¡Ã钊�斾寉  For example the tool breaks.��â�¬Å¡Ã钊�斾寉  You hit hardware
> >feedhold and
> >
> > >the
> > >
> > > > machine instantly stops.��â�¬Å¡Ã钊�斾寉  But now you want to Jog the machine,
> >change the
> >
> >
> > > > tool,��â�¬Å¡Ã钊�斾寉乸djust a work offset, etc.., then resume.��â�¬Å¡Ã钊�斾寉  Before
> >doing this you
> >
> > >must
> > >
> > > >push
> > > >
> > > > Stop in Mach3.��â�¬Å¡Ã钊�斾寉 
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Mon, March 7, 2011 11:38:26 PM
> > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > >
> > > > ��â�¬Å¡Ã钊�斾寉 
> > > > Hi TK,
> > > >
> > > > Is it meaning that,
> > > >
> > > > 1. Only "feedhold" button in mach3 can stop the running code without lost
> > >step
> > >
> > >
> > > > and motion instruction and then continue after the pause.
> > > >
> > > > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> > > >program
> > > >
> > > > and then call a routine to stop/disable all the axis,and all the contents
> >in
> >
> >
> > > > motion buffer will also be erase.
> > > >
> > > > 3. Both hardware feedhold and "stop" button in mach3 will immediately
> >motion
> >
> >
> > > >the
> > > >
> > > > motion, however the buffered instruction will be lost. If we use hardware
> > > > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> >
> > > > kflop.
> > > >
> > > > Best regards,
> > > > Benny
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Benny,
> > > > >
> > > > > Regarding:
> > > > >
> > > > > #1 -���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉澵ome of both actually.
> > > > >
> > > > > #2 - Yes the normal Mach3 feedhold works like that.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >However Mach3
> >
> > >doesn't
> > >
> > > >
> > > > > really stop feeding instructions, rather it changed the instructions to a
> >
> > > > > decelerated motion along the path and then a fixed location.
> > > > >
> > > > > #3 - Yes, Stop flushes all the buffers.
> > > > >
> > > > > #4 - Below is a simple program���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 (ExternalFeedhold.c
> > >example)���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉濳o watch an
> > >
> > > >I/O
> > > >
> > > > >bit
> > > > >
> > > > > and perform hardware feedhold when the input goes
> >high.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  Mach3
> >
> > >naturally
> > >
> > > >stays
> > > >
> > > > >
> > > > > in sync because it doesn't even know it happened.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >From its
> >
> > >perspective
> > >
> > > >the
> > > >
> > > > > motion is just taking a long time to execute and the buffer pipeline
> > >remains
> > >
> > >
> > > > > full.���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > #include
> > > > > main()
> > > > >
> >{"KMotionDef.h"���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >for(;;) // loop
> >
> > >forever���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  {
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >
> >>WaitNextTimeSlice();���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >� ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >
> > >
> > > >if(ReadBit(46)) // Watch an
> > > >
> > > > >external input
> > > > >
> > > > > switch���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  {
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >
> > >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >StopCoordinatedMotion();
> >
> > >
> > > >//feedhold���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  }
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  }
> > > > > }
> > > > >
> > > > >
> > > > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
>
> > > > > requires a re-initialization.
> > > > >
> > > > > #6 - KFlop basically���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉澑eceives instructions from Mach3
> > > > >
> > > > > Regards
> > > > > TK
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: likleong <likleong@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > > >
> > > > > ���'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > Hi TK,
> > > > >
> > > > > Thanks for your reply, for question 3, it is okay, I understanding, if we
> >
> > >use
> > >
> > > >
> > > > > the pin, we should not put it in floating state. However, for Q1 and Q2,
> >I
> >
> > >am
> > >
> > > >a
> > > >
> > > > >
> > > > > little but confuse, could you please elaborate more on following area?
> > > > >
> > > > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > > > >downloaded
> > > > >
> > > > > to kflop hardware buffer?
> > > > >
> > > > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> >
> > > > > instruction to kflop and the buffered motions will continue running until
> >
> > >the
> > >
> > > >
> > > > > buffer empty, right after I press the "start" button again in mach3, the
>
> > > >motion
> > > >
> > > > >
> > > > > will continue and there should no missed step or instruction, right?
> > > > >
> > > > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > > > immediatly, then how about the content in the buffer? Are they being
> >erase?
> >
> > >
> > > > >
> > > > >
> > > > > 4. You said there is a hardware feedhold in kflop, how can we make use of
> >
> > >it?
> > >
> > > >
> > > > >If
> > > > >
> > > > > we use this hardware feedhold, how can we keep mach3 and kflop
> >syncronized
> >
> >
> > > > >(make
> > > > >
> > > > > mach3 and flop stop at the same time)
> > > > >
> > > > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > > > >
> > > > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> >
> > > > >"stop"
> > > > >
> > > > > and "feed"? Or just received instruction from Mach3 ?
> > > > >
> > > > > Best regards,
> > > > > Benny
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Benny,
> > > > > >
> > > > > > #1 "Stop" will issue an
> >immediate���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉温ardware feedhold to
> >
> > >KFlop so the
> > >
> > > >motion
> > > >
> > > > >
> > > > > >will
> > > > > >
> > > > > > begin to stop immediately without a need to flush the motion
> > > >buffer.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > >
> > > > >"Reset"
> > > > >
> > > > >
> > > > > > will also cause Mach3 to disable the amplifier enables so the motion
> >will
> >
> > >
> > > > >also
> > > > >
> > > > >
> > > > > > begin to stop immediately.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >However because MS Windows
> >
> > >is not
> > >
> > > >real-time
> > > >
> > > > > > responsive, pushing any button on a Windows Screen is not 100% reliable
> >
> > >in
> > >
> > >
> > > > > > stopping motion.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  On most
> >Windows systems the response
> >
> > >to a button
> > >
> > > >press
> > > >
> > > > >is
> > > > >
> > > > > > usually nearly instant 99% of the
> >time.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  To get 100%
> >
> > >reliability
> > >
> > > >instant
> > > >
> > > > > > feedhold you must wire an external switch directly to KFlop that can
> > > >initiate
> > > >
> > > > >
> > > > > > hardware feed hold.
> > > > > >
> > > > > > #2 Yes issuing a hardware feedhold to KFlop either through an
> >externally
> >
> >
> > > > >wired
> > > > >
> > > > >
> > > > > > button or a custom Mach3 Screen button will cause KFlop to stop
> > >immediately
> > >
> > > >
> > > > > > along the current path.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> >Releasing the feedhold will
> >
> > >resume motion
> > >
> > >
> > > > >smoothly
> > > > >
> > > > > > along the same path.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  However
> >with hardware feedhold
> >
> > >Mach3 is not
> > >
> > > >really
> > > >
> > > > >aware
> > > > >
> > > > > >
> > > > > > that the machine has stopped, so it is not possible to issue other
> >Mach3
> >
> >
> > > > > > commands such as Jogs or changing
> >offsets.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  You must
> >
> > >first depress
> > >
> > > >"Stop"
> > > >
> > > >
> > > > > > in���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉嗰ach3.
> > > > > >
> > > > > > #3 This is a common
> >misunderstanding.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  When defined as
> >
> > >inputs the
> > >
> > > >pins ARE
> > > >
> > > > >
> > > > > > floating.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  KFlop uses MOSFET
> >inputs which have
> >
> > >extremely high input
> > >
> > > >
> > > > >resistance
> > > > >
> > > > > >
> > > > > > (> 10 Meg Ohms).���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  That is why
> >they change more or less
> >
> > >randomly
> > >
> > > > >and���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉漤ossibly
> > > > >
> > > > >
> > > > > > track the signals closest to them due to parasitic resistance and
> > > > > >capacitance.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > >
> > > > > > This is
> >normal.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉ó纱黒�'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > Inputs that are
> >
> > >not connected to anything
> > >
> > > >are not
> > > >
> > > > >defined
> > > > >
> > > > > >and
> > > > > >
> > > > > > may have any value high or
> >low.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  If nothing is
> >
> > >connected to the
> > >
> > > >input then
> > > >
> > > > >
> > > > > > nothing should care what the state
> >is.���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉  We used to
> >
> > > >apply���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉烀eak pull down
> > > >
> > > > >
> > > > > > resistors to avoid this confusion but this caused problems using pins
> >in
> >
> >
> > > > >"open
> > > > >
> > > > >
> > > > > > collector" mode as the pin would never go fully "open".
> > > > > >
> > > > > > I hope this helps
> > > > > > Regards
> > > > > > TK���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > ________________________________
> > > > > > From: likleong <likleong@>
> > > > > > To: DynoMotion@yahoogroups.com
> > > > > > Sent: Sun, March 6, 2011 5:59:27 AM
> > > > > > Subject: [DynoMotion] Buffer issue in mach3
> > > > > >
> > > > > > ���'�� '���¢�¢â�¬Å¡Ã寉¬Ã钊�¦Ã寉¡Ã纱黒�'�¢â�斵¬Ã埘¡Ã纱黒¢ââ\Å¡��斾寉 
> > > > > > Hi TK,
> > > > > >
> > > > > > I have the following questions regarding to mach3 and kflop:
> > > > > >
> > > > > > 1. There are 3 sec buffer in mach3 plugin, is it meaning that, there
> >will
> >
> > >
> > > >be
> > > >
> > > > >3
> > > > >
> > > > >
> > > > > > sec of motion command will be download to kflop's motion buffer? that
> > >means
> > >
> > > >
> > > > > >even
> > > > > >
> > > > > > mach3 stopped with "stop" or "reset" button, the kflop will keep
> >running
> >
> >
> > > >for
> > > >
> > > > >3
> > > > >
> > > > >
> > > > > > sec until buffer empty, right?
> > > > > >
> > > > > >
> > > > > > 2. In case of some emergency situation, in spit of hardware EMG stop,
> >is
> >
> >
> > > > >there
> > > > >
> > > > >
> > > > > > any way to stop the mach3 and kflop immediately but keep the contents
> >in
> >
> >
> > > > >motion
> > > > >
> > > > > >
> > > > > > buffer so that it can resume within mache?
> > > > > >
> > > > > > 3. I found that, some IO pins (eg, IO42, IO43), if I define them as
> >Input
> >
> > >
> > > >and
> > > >
> > > > >
> > > > > > keep them floating, normally, they will read as low, however, if I put
>
> > >One
> > >
> > > >of
> > > >
> > > > >
> > > > > > them high, both of them will read high, until I ground the another one,
> >
> > >is
> > >
> > > >it
> > > >
> > > > >
> > > > > > normal? Is it not possible to put the input pin floating?
> > > > > >
> > > > > > Bes reagrds,
> > > > > > Benny
> > > > > >
> > > > >
> > > >
> > >
> >
>
Group: DynoMotion Message: 954 From: Tom Kerekes Date: 3/11/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
 
The 3.3V outputs can only source/sink 16ma.  You would need some form of a driver.  Or use a 3V Solid state relay.
 
Regards
TK

Group: DynoMotion Message: 955 From: Lee Studley Date: 3/11/2011
Subject: Re: Buffer issue in mach3
Hi Benny,
I admire tom his patience: His support of his product cannot include teaching of electronics or full design of your application.
You need to investigate this on you own. Otherwise he will go insane and none of us will get supported :-)

In this case you need to use the IO to drive and N channel transistor( BJT or Mosfet ) that will then be able to supply the current control of your
external device.

Please read:
http://www.scienceprog.com/interfacing-microcontrollers-to-external-devices/
http://www.diodes.com/_files/products_appnote_pdfs/zetex/an10.pdf
http://www.dnatechindia.com/index.php/Tutorials/8051-Tutorial/Relay-Interfacing.html






On 3/11/2011 10:16 AM, likleong wrote:
 

Hi TK,

May be my question is not clear enough, I want to use the kflop IO pin as an output to drive a 3v relay directly, but I am afraid the current is not enough, because the relay need 50 mA to operate. Is there any way to solve this problem? How about set the IO pin in open collector mode?

Best regards,
Benny

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Benny,
>
> I assume you are trying to drive something like the +5V input of a SSR (Solid
> State Relay) in open collector mode and NOT something like a 12V relay.
>
> From a User Program to drive an I/O pin low set the Bit low and set it as an
> Output with:
>
> ClearBit(XX);
> SetBitDirection(XX,1);
>
> To set an I/O pin "open" set the pin as an input.
>
> SetBitDirection(XX,0);
>
> As an input the Pin will be able to "float" up to ~3.9V because it is diode
> clamped to the 3.3V supply.
>
> Regards
> TK
>
>
>
>
>
> ________________________________
> From: likleong <likleong@...>
> To: DynoMotion@yahoogroups.com
> Sent: Thu, March 10, 2011 11:28:57 PM
> Subject: [DynoMotion] Re: Buffer issue in mach3
>
> &#65533;
> Hi TK,
>
> Thanks, I will try it out. I have another question regarding to the IO pins in
> kflop, can I define a general IO pin as output and in open collector at the same
> time? If I want to use the IO pin to drive a relay, any suggestion? Thanks.
>
> Best regards,
> Benny
>
> --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> >
> > Hi Benny,
> >
> > Read this and see if you still have questions.&#65533;&#65533; Look for information on the
> > Mach3 site on how to change the screens. &#65533;&#65533;We recommend the one written by
> >Klaus
> >
> > Dietz.&#65533;&#65533;
> >
> >
> > http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
> >
> > If you change the Cycle Start button to do:
> >
> > NotifyPlugins(11000)&#65533;&#65533;
> >
> > The Cycle Start button should resume if KFlop is in the Hardware Feedhold
> >state,
> >
> > otherwise it will do a normal Cycle Start.
> >
> > Let me know if it isn't clear.
> >
> > Regards
> > TK
> >
> >
> >
> >
> >
> > ________________________________
> > From: likleong <likleong@>
> > To: DynoMotion@yahoogroups.com
> > Sent: Wed, March 9, 2011 5:31:06 PM
> > Subject: [DynoMotion] Re: Buffer issue in mach3
> >
> > &#65533;&#65533;
> > Hi TK,
> >
> > Do you have any idea how to modify the existing "feedhold" button in mach3, on
>
> > top of the existing function, also make it issue a NotifyPlugins(XX) message to
> >
> > klop. On the other hand, how to handle the resume after the above feedhold?
> > Thanks.
> >
> > Best regards,
> > Benny
> >
> > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > >
> > > Hi Benny,
> > >
> > > Regarding question #1 - Exactly Correct.
> > >
> > > Regarding question #2 -&#65533;&#65533;&#26046;&#23497;&#21873;'m not sure exactly what you are asking - but I
> >think
> >
> > >
> > > the Mach3 manual states that "Stop" is likely to loose steps as it abruptly
> > > stops generating motion and flushes its buffers.&#65533;&#65533;&#26046;&#23497;&#160; In our plugin we attempt
> >to
> >
> >
> > > issue a hardware feedhold, then after coming to a stop, flush our buffers,
> >then
> >
> > >
> > > re-sync the position with Mach3.&#65533;&#65533;&#26046;&#23497;&#160; So it should be instant and with no loss
> >of
> >
> >
> > > steps, but not necessarily resume-able.
> > >
> > > Regarding question #3 - Yes.&#65533;&#65533;&#26046;&#23497;&#160; To issue a hardware feedhold from a Mach3
> >screen
> >
> > >
> > > you will need to modify&#65533;&#65533;&#26046;&#23497;&#20088; Mach3 screen to add or change the functionality
> >of a
> >
> > >
> > > button to issue a NotifyPlugins(XX) message.&#65533;&#65533;&#26046;&#23497;&#160; This will cause&#65533;&#65533;&#26046;&#23497;&#8706;our
> >Notify C
> >
> > > program to execute in KFlop and pass it the message XX.&#65533;&#65533;&#26046;&#23497;&#243;&#38026;&#65533;&#26046;&#23497;&#160; (Message
> >numbers
> >
> > >10000
> > >
> > > - 10999 will be passed to KFLOP).&#65533;&#65533;&#26046;&#23497;&#160; You can then code your Notify C program
> >to
> >
> >
> > > issue the StopCoordinatedMotion().
> > >
> > > Regards
> > > TK&#65533;&#65533;&#26046;&#23497;&#160;
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: likleong <likleong@>
> > > To: DynoMotion@yahoogroups.com
> > > Sent: Tue, March 8, 2011 11:02:52 PM
> > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > >
> > > &#65533;&#65533;&#26046;&#23497;&#160;
> > > Hi TK,
> > >
> > > Okay, for kflop HW feedhold, there is no step lost. for mach2 feedhold, there
> >
> > >is
> > >
> > > also no step lost, but need to waiting for couple of sec until buffer empty,
>
> > >and
> > >
> > > may be risk of slow respond from windows, right?
> > >
> > > Then, how about the "stop" in mach3? you said the buffer contents will be
> >erase
> >
> > >
> > > in last reply. Is it related to kflop HW feedhold or just use another way to
>
> > > stop immedately?
> > >
> > > Finally, if I ignore the respond issue from windows and just use the feedhold
> >
> > >in
> > >
> > > mach3, is there any way to make the mach 3 issue a feedhold command to kflop
>
> > > immedately(StopCoordinatedMotion) without waiting the buffer to empty?
> > >
> > > Best regards,
> > > Benny.
> > >
> > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > >
> > > > Hi Benny,
> > > >
> > > > #1 - No.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; It is also possible to resume instant hardware feedhold
> >without
> >
> > >lost
> > >
> > > >
> > > > steps.
> > > >
> > > > #2 - No.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; The hardware does not disable the axes or erase the
> >buffer.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160;
> >
> >
> > > >Basically
> > > >
> > > > KFlop slows down to a stop and stops taking motion from the
> >buffer.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; The
> >
> > > >buffer
> > > >
> > > > remains full.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; To resume Kflop again starts taking motion from the
>
> > buffer.
> > > >
> > > > #3 -&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#22021;o.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#33079;uffered instructions will not be
> >lost.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#22000;ach3 is always
> >
> > >waiting
> > >
> > > >for
> > > >
> > > > there to be space in the buffer.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; Whenever there becomes space
> >available
> >
> > >it
> > >
> > > > fills the buffer.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; After&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#22001;Flop stops&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#27698;onsuming
> >motion the buffer
> >
> > >will remain
> > >
> > > >
> > > > full and Mach3 will wait.
> > > >
> > > >
> > > > The only problem with hardware feedhold is with issuing other commands
> > > >while&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#28278;n
> > > >
> > > > feedhold.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; For example the tool breaks.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; You hit hardware
> >feedhold and
> >
> > >the
> > >
> > > > machine instantly stops.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; But now you want to Jog the machine,
> >change the
> >
> >
> > > > tool,&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#20088;djust a work offset, etc.., then resume.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160; Before
> >doing this you
> >
> > >must
> > >
> > > >push
> > > >
> > > > Stop in Mach3.&#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160;
> > > >
> > > > Regards
> > > > TK
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: likleong <likleong@>
> > > > To: DynoMotion@yahoogroups.com
> > > > Sent: Mon, March 7, 2011 11:38:26 PM
> > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > >
> > > > &#65533;&#65533;â&#65533;¬Å¡Ã&#38026;&#65533;&#26046;&#23497;&#160;
> > > > Hi TK,
> > > >
> > > > Is it meaning that,
> > > >
> > > > 1. Only "feedhold" button in mach3 can stop the running code without lost
> > >step
> > >
> > >
> > > > and motion instruction and then continue after the pause.
> > > >
> > > > 2. The hardware feedhold in kflop is actually monitor the input pin by c
> > > >program
> > > >
> > > > and then call a routine to stop/disable all the axis,and all the contents
> >in
> >
> >
> > > > motion buffer will also be erase.
> > > >
> > > > 3. Both hardware feedhold and "stop" button in mach3 will immediately
> >motion
> >
> >
> > > >the
> > > >
> > > > motion, however the buffered instruction will be lost. If we use hardware
> > > > feedhold, there is no way to notify mach3 when hardware feedhold enabled in
> >
> > > > kflop.
> > > >
> > > > Best regards,
> > > > Benny
> > > >
> > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > >
> > > > > Hi Benny,
> > > > >
> > > > > Regarding:
> > > > >
> > > > > #1 -&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#28597;ome of both actually.
> > > > >
> > > > > #2 - Yes the normal Mach3 feedhold works like that.&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >However Mach3
> >
> > >doesn't
> > >
> > > >
> > > > > really stop feeding instructions, rather it changed the instructions to a
> >
> > > > > decelerated motion along the path and then a fixed location.
> > > > >
> > > > > #3 - Yes, Stop flushes all the buffers.
> > > > >
> > > > > #4 - Below is a simple program&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;(ExternalFeedhold.c
> > >example)&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#28659;o watch an
> > >
> > > >I/O
> > > >
> > > > >bit
> > > > >
> > > > > and perform hardware feedhold when the input goes
> >high.&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; Mach3
> >
> > >naturally
> > >
> > > >stays
> > > >
> > > > >
> > > > > in sync because it doesn't even know it happened.&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >From its
> >
> > >perspective
> > >
> > > >the
> > > >
> > > > > motion is just taking a long time to execute and the buffer pipeline
> > >remains
> > >
> > >
> > > > > full.&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; &#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> > > > > #include
> > > > > main()
> > > > >
> >{"KMotionDef.h"&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >for(;;) // loop
> >
> > >forever&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; {
> > > > > &#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >
> >>WaitNextTimeSlice();&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >&#65533; &#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >
> > >
> > > >if(ReadBit(46)) // Watch an
> > > >
> > > > >external input
> > > > >
> > > > > switch&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; {
> > > > > &#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >
> > >&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >StopCoordinatedMotion();
> >
> > >
> > > >//feedhold&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; }
> > > > > &#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; }
> > > > > }
> > > > >
> > > > >
> > > > > #5 - Basically Stop - stops the motion, Reset - disables al the axes and
>
> > > > > requires a re-initialization.
> > > > >
> > > > > #6 - KFlop basically&#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#28561;eceives instructions from Mach3
> > > > >
> > > > > Regards
> > > > > TK
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > > From: likleong <likleong@>
> > > > > To: DynoMotion@yahoogroups.com
> > > > > Sent: Sun, March 6, 2011 11:41:08 PM
> > > > > Subject: [DynoMotion] Re: Buffer issue in mach3
> > > > >
> > > > > &#65533;&#65533;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> > > > > Hi TK,
> > > > >
> > > > > Thanks for your reply, for question 3, it is okay, I understanding, if we
> >
> > >use
> > >
> > > >
> > > > > the pin, we should not put it in floating state. However, for Q1 and Q2,
> >I
> >
> > >am
> > >
> > > >a
> > > >
> > > > >
> > > > > little but confuse, could you please elaborate more on following area?
> > > > >
> > > > > 1. there are 3 sec of motion buffer in Mach3, is it store in mach3 or
> > > > >downloaded
> > > > >
> > > > > to kflop hardware buffer?
> > > > >
> > > > > 2. If I press the "feedhold" button in Mach3, mach3 will stop to feed the
> >
> > > > > instruction to kflop and the buffered motions will continue running until
> >
> > >the
> > >
> > > >
> > > > > buffer empty, right after I press the "start" button again in mach3, the
>
> > > >motion
> > > >
> > > > >
> > > > > will continue and there should no missed step or instruction, right?
> > > > >
> > > > > 3. If I press the "stop" button in mach3, the mach3 and kflop will stop
> > > > > immediatly, then how about the content in the buffer? Are they being
> >erase?
> >
> > >
> > > > >
> > > > >
> > > > > 4. You said there is a hardware feedhold in kflop, how can we make use of
> >
> > >it?
> > >
> > > >
> > > > >If
> > > > >
> > > > > we use this hardware feedhold, how can we keep mach3 and kflop
> >syncronized
> >
> >
> > > > >(make
> > > > >
> > > > > mach3 and flop stop at the same time)
> > > > >
> > > > > 5. What is the difference if I press "stop" and "reset" in mach3?
> > > > >
> > > > > 6. From kflop point of view, is there any concept of "reset", "emergency,
> >
> > > > >"stop"
> > > > >
> > > > > and "feed"? Or just received instruction from Mach3 ?
> > > > >
> > > > > Best regards,
> > > > > Benny
> > > > >
> > > > > --- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@> wrote:
> > > > > >
> > > > > > Hi Benny,
> > > > > >
> > > > > > #1 "Stop" will issue an
> >immediate&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#28201;ardware feedhold to
> >
> > >KFlop so the
> > >
> > > >motion
> > > >
> > > > >
> > > > > >will
> > > > > >
> > > > > > begin to stop immediately without a need to flush the motion
> > > >buffer.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> > > >
> > > > >"Reset"
> > > > >
> > > > >
> > > > > > will also cause Mach3 to disable the amplifier enables so the motion
> >will
> >
> > >
> > > > >also
> > > > >
> > > > >
> > > > > > begin to stop immediately.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >However because MS Windows
> >
> > >is not
> > >
> > > >real-time
> > > >
> > > > > > responsive, pushing any button on a Windows Screen is not 100% reliable
> >
> > >in
> > >
> > >
> > > > > > stopping motion.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; On most
> >Windows systems the response
> >
> > >to a button
> > >
> > > >press
> > > >
> > > > >is
> > > > >
> > > > > > usually nearly instant 99% of the
> >time.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; To get 100%
> >
> > >reliability
> > >
> > > >instant
> > > >
> > > > > > feedhold you must wire an external switch directly to KFlop that can
> > > >initiate
> > > >
> > > > >
> > > > > > hardware feed hold.
> > > > > >
> > > > > > #2 Yes issuing a hardware feedhold to KFlop either through an
> >externally
> >
> >
> > > > >wired
> > > > >
> > > > >
> > > > > > button or a custom Mach3 Screen button will cause KFlop to stop
> > >immediately
> > >
> > > >
> > > > > > along the current path.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> >Releasing the feedhold will
> >
> > >resume motion
> > >
> > >
> > > > >smoothly
> > > > >
> > > > > > along the same path.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; However
> >with hardware feedhold
> >
> > >Mach3 is not
> > >
> > > >really
> > > >
> > > > >aware
> > > > >
> > > > > >
> > > > > > that the machine has stopped, so it is not possible to issue other
> >Mach3
> >
> >
> > > > > > commands such as Jogs or changing
> >offsets.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; You must
> >
> > >first depress
> > >
> > > >"Stop"
> > > >
> > > >
> > > > > > in&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#22000;ach3.
> > > > > >
> > > > > > #3 This is a common
> >misunderstanding.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; When defined as
> >
> > >inputs the
> > >
> > > >pins ARE
> > > >
> > > > >
> > > > > > floating.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; KFlop uses MOSFET
> >inputs which have
> >
> > >extremely high input
> > >
> > > >
> > > > >resistance
> > > > >
> > > > > >
> > > > > > (> 10 Meg Ohms).&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; That is why
> >they change more or less
> >
> > >randomly
> > >
> > > > >and&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#28452;ossibly
> > > > >
> > > > >
> > > > > > track the signals closest to them due to parasitic resistance and
> > > > > >capacitance.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> > > > > >
> > > > > > This is
> >normal.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#243;&#32433;&#40658;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã ;&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160;
> > Inputs that are
> >
> > >not connected to anything
> > >
> > > >are not
> > > >
> > > > >defined
> > > > >
> > > > > >and
> > > > > >
> > > > > > may have any value high or
> >low.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; If nothing is
> >
> > >connected to the
> > >
> > > >input then
> > > >
> > > > >
> > > > > > nothing should care what the state
> >is.&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#160; We used to
> >
> > > >apply&#65533;&#65533;&#65533;'&#65533;&#65533;&#160;'&#65533;&#65533;&#65533;¢&#65533;¢â&#65533;¬Å¡Ã&#23497;¬Ã&#38026;&#65533;¦Ã&#23497;¡Ã&#32433;&#40658;&#65533;'&#65533;¢â&#65533;&#26037;¬Ã&#22488;¡Ã&#32433;&#40658;¢ââ\Å¡&#65533;&#65533;&#26046;&#23497;&#28864;eak pull down
> > > >
> > > > >
> > > > > > resistors to avoid this confusion but this caused problems using pins
> >in
> >
> >
> > > > >"open
> > > > >
> > > > >
> > > > > > collector" mode as the pin

(Message over 64 KB, truncated)

Group: DynoMotion Message: 956 From: Tom Kerekes Date: 3/11/2011
Subject: Re: Buffer issue in mach3
Hi Lee,
 
Those are great links.  Thanks.
 
(I have no problem trying to answer questions on the group as other users probably have the same issues)
 
TK

Group: DynoMotion Message: 957 From: Lee Studley Date: 3/11/2011
Subject: Re: Buffer issue in mach3
Hi Tom and Benny,
That's true. I was surprised at the lengths needed to find  good examples as I searched today. I have books
from way back when I learned that stuff. Steve Ciarcia's books on building you own Z80
was classic! Had good thermal managment primer inside also.
WOW just found it in downloadable form( dated but highly recommended!!!):
http://www.scribd.com/doc/13388965/Build-Your-Own-Z80-Computer

Benny,
Look especially at figure10 page6 of this appnote. It's simple and will be perfect for
most reasonable open collector drive requirements.

http://www.diodes.com/_files/products_appnote_pdfs/zetex/an10.pdf



On 3/11/2011 12:08 PM, Tom Kerekes wrote:
 
Hi Lee,
 
Those are great links.  Thanks.
 
(I have no problem trying to answer questions on the group as other users probably have the same issues)
 
TK